比特币和密码朋克的兴起
2016年4月9日 作者:Jameson
虽然该领域的许多创新都是新的,但它们是建立在导致这一点的数十年工作基础之上的。通过追溯这段历史,我们可以了解催生比特币的运动背后的动机,并分享其对未来的愿景。
从比特币到区块链再到分布式账本,加密货币领域正在快速发展,以至于很难看出它的发展方向。
但是,我们并非没有线索。虽然该领域的许多创新都是新的,但它们是建立在导致这一点的数十年工作基础之上的。通过追溯这段历史,我们可以了解催生比特币的运动背后的动机,并分享其对未来的愿景。
在 20 世纪 70 年代之前,密码学主要由军事或间谍机构秘密实施。但是,当有两个出版物将其公开时,情况发生了变化:美国政府出版的数据加密标准和第一部关于公钥密码学的公开著作,由 Whitfield Diffie 博士和 Martin Hellman 博士撰写的“密码学新方向”。
在 1980 年代,David Chaum 博士就匿名数字现金和假名信誉系统等主题撰写了大量文章,他在论文“无需身份证明的安全:让老大哥过时的交易系统”中对此进行了描述。
在接下来的几年里,这些想法融合成一场运动。
1992 年底,Eric Hughes、Timothy C May 和 John Gilmore 成立了一个小组,每月在旧金山湾区的 Gilmore 公司 Cygnus Solutions 开会。该组织被幽默地称为“cypherpunks”,作为“cipher”和“cyberpunk”的派生词。
Cypherpunks 邮件列表大约在同一时间形成,仅仅几个月后,Eric Hughes 发表了“ A Cypherpunk's Manifesto ”。他写到:
“电子时代的开放社会需要隐私。隐私不是秘密。私事是不想让全世界都知道的事,秘密事是不想让任何人知道的事。隐私是有选择地向世界展示自己的力量。”
一切都很好,你可能在想,但我不是 Cypherpunk,我没有做错任何事;我没有什么可隐藏的。正如布鲁斯·施耐尔 (Bruce Schneier) 所指出的,“没有什么可隐瞒”的论点源于一个错误的前提,即隐私就是隐瞒错误。
例如,您可能在窗户上挂了窗帘,这样人们就看不到您的家。这并不是因为您从事非法或不道德的活动,而仅仅是因为您不想担心向外界暴露自己的潜在成本。
如果您正在阅读本文,那么您已经直接受益于 Cypherpunks 的努力。
一些著名的密码朋克及其成就:
- Adam Back 博士:Hashcash 的发明者,Blockstream 的联合创始人
- Bram Cohen:BitTorrent 的创造者
- Hal Finney:PGP 2.0 的主要作者,可重用工作量证明的创建者
- Tim Hudson:OpenSSL 的前身 SSLeay 的合著者
- Moxie Marlinspike:Open Whisper Systems 的创始人(Signal 的开发者)
- Steven Schear:“权证金丝雀”概念的创造者
- Zooko Wilcox-O'Hearn:DigiCash 开发者,Zcash 创始人
- Philip Zimmermann:PGP 1.0 的创造者
1990年代
这十年见证了加密战争的兴起,美国政府试图扼杀强大的商业加密的传播。由于到目前为止密码市场几乎完全是军事市场,因此加密技术作为第 XIII 类项目被列入美国军需品清单,该清单有严格的规定防止其“出口”。这将“兼容出口”的 SSL 密钥长度限制为 40 位,使用一台个人计算机可以在几天内破解。公民自由主义者和隐私倡导者的法律挑战、加密软件在美国以外的广泛应用以及马特·布雷泽 (Matt Blaze) 对政府提议的后门Clipper Chip的成功攻击,导致政府让步。1997 年,Adam Back 博士创建了 Hashcash,它被设计为一种反垃圾邮件机制,本质上会增加发送电子邮件的(时间和计算)成本,从而使垃圾邮件变得不经济。他设想 Hashcash 比 Chaum 的数字现金更容易被人们使用,因为不需要创建帐户。Hashcash 甚至可以防止“双重支出”。1998 年晚些时候,Wei Dai发表了一项关于“b-money”的提案,这是一种在匿名参与者之间执行合同协议的实用方法。他描述了两个听起来应该很熟悉的有趣概念。首先,一个协议,其中每个参与者都维护一个单独的数据库,记录用户有多少钱。其次,第一个系统的一个变体,其中谁有多少钱的账户由一部分参与者保存,他们被激励通过把钱放在线上来保持诚实。比特币使用前一个概念,而相当多的其他加密货币已经实现了后一个概念的变体,我们现在称之为权益证明(Proof of Stake)。2000年代
很明显,Cypherpunks 已经在彼此的工作基础上发展了几十年,在 1990 年代试验并构建了我们需要的框架,但一个关键点是在 2000 年代创造了密码朋克货币。2004 年,Hal Finney创建了可重复使用的工作量证明(RPOW),它建立在 Back 的 Hashcash 之上。RPOW 是唯一的加密令牌,只能使用一次,很像比特币中未使用的交易输出。但是,验证和防止双重支出仍然由中央服务器执行。Nick Szabo在 2005 年发布了“bit gold”提案——一种基于 Finney 的 RPOW 提案的数字收藏品。然而,Szabo 并没有提出限制比特黄金总单位的机制,而是设想了单位的价值会根据创建它们所执行的计算工作量而有所不同。最后,在 2008 年,中本聪(一个或多个身份不明的个人的化名)发布了比特币白皮书,同时引用了 hashcash 和 b-money。事实上,Satoshi 直接给 Wei Dai 发了邮件,提到他是从 Dr Back 那里了解到 b-money 的。中本聪将比特币白皮书的一部分专门用于隐私,内容如下:“传统的银行模式通过限制相关方和受信任的第三方对信息的访问来实现一定程度的隐私。公开宣布所有交易的必要性排除了这种方法,但仍然可以通过在另一个地方中断信息流来维护隐私:通过保持公钥匿名。公众可以看到有人正在向其他人汇款,但没有将交易与任何人联系起来的信息。这类似于证券交易所发布的信息级别,即单笔交易的时间和规模,即‘磁带’,是公开的,但没有说明交易双方是谁。”
中本聪通过一个人们可以使用、扩展和分叉的工作系统引发了一场雪崩般的进步。比特币使维基解密等组织能够通过比特币捐赠继续运营,从而加强了整个密码朋克运动,即使在传统金融系统切断它们之后也是如此。隐私权斗争
然而,随着过去几年比特币生态系统的发展,隐私问题似乎已被搁置一旁。许多早期的比特币用户认为该系统会给他们完全的匿名性,但我们了解到情况并非如此,因为各种执法机构透露他们能够在调查期间对比特币用户进行去匿名化处理。Open Bitcoin Privacy Project在教育用户隐私和推荐比特币服务最佳实践方面弥补了一些不足。该组织正在开发一种攻击比特币钱包隐私的威胁模型。- 区块链观察者——通过观察价值流中的模式,将不同的交易链接到同一个身份。
- ——通过观察点对点网络上的活动将不同的交易和地址链接在一起。
——尝试在钱包设备上查找数据,以便对其进行篡改或对其进行分析。- 交易参与者——创建交易以帮助他们跟踪和去匿名化区块链上的活动。
- 钱包提供商——可能需要用户提供个人身份信息,然后观察他们的交易。
Blockstream 的 Jonas Nick 也对比特币用户的隐私问题进行了大量研究。
他有一个出色的演讲,在演讲中他发现了许多隐私漏洞,其中一些对 SPV 比特币客户来说是毁灭性的:视频链接:https://www.youtube.com/watch?v=HScK4pkDNds比特币最大的隐私问题之一来自区块链观察者——因为网络上的每笔交易都是无限期公开的,现在和未来的任何人都可能成为潜在的对手。因此,最古老的推荐最佳实践之一是永远不要重复使用比特币地址。“作为一个额外的防火墙,每笔交易都应该使用一个新的密钥对,以防止它们被链接到一个共同的所有者。对于多输入交易,一些链接仍然是不可避免的,这必然表明它们的输入属于同一所有者。风险在于,如果密钥的所有者被泄露,链接可能会泄露属于同一所有者的其他交易。”
最近的密码朋克创新
为了增加比特币用户的隐私,已经开发了许多系统和最佳实践。Pieter Wuille 博士编写了BIP32,分层确定性 (HD) 钱包,这使得比特币钱包管理地址变得更加简单。虽然隐私不是 Wuille 的主要动机,但 HD 钱包可以更容易地避免地址重复使用,因为该技术可以在交易流入和流出钱包时轻松生成新地址。椭圆曲线 Diffie-Hellman-Merkle (ECDHM) 地址是增加隐私的比特币地址方案。ECDHM 地址可以公开共享,并被发送者和接收者用来秘密派生区块链观察者无法预测的传统比特币地址。结果是 ECDHM 地址可以被“重复使用”,而不会丢失传统比特币地址重复使用中通常发生的隐私。ECDHM 地址方案的一些示例包括Peter Todd 的Stealth Addresses 、 Justus Ranvier 的BIP47可重用支付代码和Justin Newton 等人的BIP75 Out of Band Address Exchange。比特币混合是一种劳动密集型方法,用户可以通过这种方法增加隐私。将硬币与其他参与者混合的概念类似于 Chaum 博士发明的“混合网络”的概念。- CoinJoin – Blockstream 联合创始人 Gregory Maxwell 最初提出的混合硬币提议,CoinJoin 本质上是让用户使用来自多人的许多输入创建交易,然后将硬币发送到许多其他输出,这些输出返回给同一个人,从而“混合”价值一起并使得很难分辨哪些输入与哪些输出相关。
JoinMarket – 由开发人员 Chris Belcher 创建,JoinMarket 使比特币持有者能够通过 CoinJoin 将他们的硬币与其他用户的硬币混合,以换取费用。它使用一种智能合约,使您的私钥永远不会离开您的计算机,从而降低丢失的风险。简而言之,JoinMarket 允许您以去中心化的方式以低廉的费用提高比特币交易的隐私性。- – 由德国萨尔州大学的一组研究人员开发的去中心化混合协议,CoinShuffle 改进了 CoinJoin。它不需要受信任的第三方来组装混合交易,因此不需要额外的混合费用。
- CoinSwap——另一个由 Maxwell 开发的概念,CoinSwap 与 CoinJoin 有很大不同,因为它使用一系列四次多重签名交易(两次托管支付,两次托管释放)在两方之间以不信任的方式交换代币。它比 CoinJoin 效率低得多,但可以提供更大的隐私,甚至可以促进不同区块链之间的硬币交换。
虽然混合无异于“躲在人群中”,但人群往往不是特别多。混合应该被视为提供混淆而不是完全匿名,因为它使临时观察者难以追踪资金流向,但更老练的观察者可能仍然能够对混合交易进行反混淆。Kristov Atlas(Open Bitcoin Privacy Project 的创始人)早在 2014 年就发布了他对 CoinJoin 客户端实施不当的弱点的调查结果。Atlas 指出,即使使用相当原始的分析工具,他也能够将单个 CoinJoin 交易的 69% 的输入和 53% 的输出分组。一个例子是由 Evan Duffield 和 Daniel Diaz 设计的 Dash,它有一个名为“ Darksend ”的功能——CoinJoin 的改进版本。两个主要改进是使用的价值量和混合频率。Dash 的混合使用 0.1DASH、1DASH、10DASH 和 100DASH 的通用面额,以使输入和输出的分组更加困难。在每个混合会话中,用户提交与输入和输出相同的面额。为了最大化混合提供的隐私并使定时攻击更加困难,Darksend 以设定的时间间隔自动运行。另一种以隐私为中心的加密货币甚至不基于比特币。CryptoNote白皮书于 2014年由 Nicolas van Saberhagen 发布,该概念已在 Monero 等多种加密货币中实施。主要创新是加密环签名和唯一的一次性密钥。常规数字签名,例如比特币中使用的数字签名,涉及一对密钥——一个公钥和一个私钥。这允许公共地址的所有者通过使用相应的私钥签署资金支出来证明他们拥有它。环签名于 2001 年由 Adi Shamir 博士等人首次提出,建立在Chaum 博士和 Eugene van Heyst于 1991 年提出的群签名方案的基础上。环签名涉及一组人,每个人都有自己的私钥和公钥。环签名证明的“声明”是给定消息的签名者是该组的成员。与普通数字签名方案的主要区别在于签名者需要一个单一的密钥,但验证者无法确定签名者的确切身份。因此,如果你遇到用 Alice、Bob 和 Carol 的公钥进行环签名,你只能声称这些人中的一个人是签名者,但你将无法知道这笔交易究竟属于谁。它提供了另一种混淆级别,使区块链观察者在支付流经系统时更难追踪支付的所有权。有趣的是,环签名是专门在举报的背景下开发的,因为它们可以匿名泄露秘密,同时仍然证明秘密的来源是有信誉的(属于已知团体的个人)。CryptoNote 还旨在减轻与密钥重用和输入到输出跟踪相关的风险。付款的每个地址都是唯一的一次性密钥,来自发件人和收件人的数据。一旦您在输入中使用环签名,就会增加关于刚刚花费了哪个输出的更多不确定性。如果一个区块链观察者试图用使用过的地址绘制一个图,通过区块链上的交易将它们连接起来,它将是一棵树,因为没有地址被使用过两次。随着您向图中添加更多交易,可能的图的数量呈指数增长,因为每个环签名都会产生关于价值如何在地址之间流动的歧义。根据用于签名的戒指的大小,单笔交易的模糊度可以从“二分之一”到“一分之一”不等。每笔交易都会增加熵,并为区块链观察者带来额外的困难。即将到来的密码朋克创新
虽然加密货币用户仍然存在许多隐私问题,但由于 Cypherpunks 的持续工作,未来是光明的。隐私的下一个飞跃将涉及零知识证明的使用,该证明于 1985 年首次提出,目的是扩大密码协议的潜在应用。最初由 Back 博士于 2013 年提出“具有同态价值的比特币”,Maxwell 一直致力于机密交易,它使用零知识范围证明来创建比特币交易,其中的价值对交易参与者以外的所有人都是隐藏的。这本身就是一个很大的改进,但是当您将机密交易与 CoinJoin 结合使用时,您可以构建一个混合服务,切断交易输入和输出之间的任何链接。当 Maxwell 在旧金山比特币开发者聚会上介绍 Sidechain Elements 时,我记得他说:“ IETF的灰胡子们最大的遗憾之一是,互联网并不是以加密作为传输数据的默认方法。”Maxwell 显然对比特币的隐私有同样的看法,并希望我们从一开始就有保密交易。我们已经看到 Blockstream在 Liquid 侧链中实施机密交易,以掩盖交易所之间的转移。我们最近还看到 Maxwell在比特币网络上进行了首次成功的零知识的条件支付。ZKCP 是一种交易协议,允许买方以无需信任的方式使用比特币从卖方购买信息。购买的信息只有在付款后才会转移,付款后保证转移。买卖双方无需相互信任或依赖第三方仲裁。几年前我写过关于 Zerocoin 的文章,并指出在系统可用之前需要克服的技术挑战。从那时起,研究人员设法使证明更加有效,并通过初始生成系统参数解决了信任问题。我们现在正处于看到 Zerocoin 的愿景随着Zcash的发布而实现的风口浪尖,Zcash 由 Wilcox-O'Hearn 领导。Zcash 提供完全的支付保密性,同时仍然使用公共区块链维护去中心化网络。Zcash 交易自动隐藏区块链上所有交易的发送者、接收者和价值。只有那些拥有正确查看密钥的人才能看到交易的内容。由于 Zcash 交易的内容是加密的和隐私的,系统使用一种新颖的加密方法来验证支付。Zcash 使用称为 zk-SNARK 的零知识证明结构,由其经验丰富的密码学家团队开发。交易元数据被加密,并使用 zk-SNARKs 来证明交易有效,而不是公开展示支出权限和交易价值。Zcash 很可能是第一个实现万无一失的匿名性的数字支付系统。将朋克融入密码朋克
自 Cypherpunks 开始他们的探索以来的几十年里,计算机技术已经发展到个人和团体可以完全匿名的方式相互交流和互动的程度。两个人可以在不知道对方的真实姓名或合法身份的情况下交换消息、开展业务和谈判电子合同。出于国家安全考虑、犯罪分子使用该技术以及对社会解体的担忧,政府将试图减缓或阻止该技术的传播,这是很自然的。Cypherpunks 知道,如果我们希望拥有隐私,就必须捍卫自己的隐私。几个世纪以来,人们一直在通过窃窃私语、黑暗、信封、关门、秘密握手和信使来捍卫自己的隐私。在 20 世纪之前,技术无法实现强大的隐私保护,但也无法实现负担得起的大规模监控。我们现在生活在一个可以期待监视的世界,但隐私却不是,即使存在增强隐私的技术。我们已经进入了一个许多人称之为The Crypto Wars 2.0 的阶段。尽管 Cypherpunks 在第一次加密战争中取得了胜利,但我们不能固步自封。Zooko 过去曾经历过 Cypherpunk 项目的失败,他警告说失败仍有可能发生。Cypherpunks 认为隐私是一项基本人权,包括来自政府的隐私。他们明白,出于任何原因(包括“受信任的权威机构”的访问)削弱系统的安全性,都会使系统对每个使用它的人来说都是不安全的。Cypherpunks 编写代码。他们知道有人必须编写软件来保护隐私,因此他们承担了这项任务。他们发布他们的代码,以便其他 Cypherpunks 可以从中学习、攻击它并改进它。他们的代码免费供任何人使用。Cypherpunks 不在乎你是否认可他们编写的软件。他们知道软件无法被破坏,广泛分布的系统无法关闭。———开始 PGP 签名消息——
哈希:SHA256公钥:https://keybase.io/lopp/key.asc最初的 Cypherpunks 邮件列表已不复存在,但现在的 Cypherpunks 比以往任何时候都多。我们在各种电子邮件列表、聊天室和社交媒体平台上讨论我们的想法。有很多工作要做;虽然在设计和部署隐私增强系统方面取得了很大进展,但它们仍远非完美,普通人仍然很难从中受益。加密货币战争中还有许多战斗要打;拿起你们的键盘,让我们一起快速前进。
———开始 PGP 签名———wsFcBAEBCAAQBQJW9VrFCRAnjdn7DA6bSQAAI68QAKxMRyGXfr8g0xhNJadJFaH6iXJlv+PA74h3oSKV97lOAejY8yGyhyb8UodF5H3YBqSrLUCEF2Xj8U4pCl5imvSeuuRfxbSeyUcgMonxF8W4dswcU0Ls1znLbpVkoLiRNAkkFVG+LyGY0eC7dDQ17okfmTzjaW6/3Ed289+yz7Lj5fE6pST4L7IsOEdlyPSm/1Rn6jLVaQ/WoNGB/xPUjNZwzagpg5qHGgcTCHCPZR9i1obsJtKLHLCRhCCxHQ6ldAiLXJn0WeOCHYIRhaC4fr0PC+yBB2BwzXccVh4PUvgc4OEXTFvZUCkvUd88Z3j5ZN8r0ZJB83ZPITk7TMueneYWEry21LXG2Wv+CACwPzE+LM9GkaOLkEDgiENDq20CsM6VQl3GkiCj3KdFl9btYvzwtpiHbmvE4HMepiVc4TjhEmIiCTMAjkcn0MRQl/tJsPw5dyQBs22++O/cslzc3w+TKy+7DA4jIbMk993FpDsZwyqpvkPXWylLofbqq6DmLYCu1ahpdV8X18kApeY0W2E8rsPDr4eukXnLdDemoqFDtsIYDPb/LdQe5RaXuH7/xpWzWuOccOe305pUZnic7CO35cVnSg7KgUjfZhfHPijyTzHKO8QShSl7bSMW/botaO9C/wha0 /+qmnWVMdUwBVyjBLDeMjqvB87UbJE5E7rl
=hR9e
—–结束 PGP 签名—–